package com.swing.games.snake.component;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

/**
 * @author Yuang, Gongming
 * @date 2022-02-14 10:24
 */
public class KeyBoard extends KeyAdapter {

    public static char direction = 'R';

    public void keyPressed(KeyEvent e) {
        System.out.println("键盘监控 - " + System.currentTimeMillis());
        switch (e.getKeyCode()) {
            case KeyEvent.VK_LEFT:
            case KeyEvent.VK_W:
                if (direction != 'R') {//键盘侦听，接受到的键为←时，如果这时蛇没有向右运动，则方向可变为←
                    direction = 'L';
                }
                System.out.println("监听中");

                break;
            case KeyEvent.VK_RIGHT:
                if (direction != 'L') {//接受到的键为→时，如果这时蛇没有向左运动，则方向可变为→
                    direction = 'R';
                }
                System.out.println("监听中");

                break;
            case KeyEvent.VK_UP:
                if (direction != 'D') {//接受到的键为↑时，如果这时蛇没有向下运动，则方向可变为↑
                    direction = 'U';
                }
                System.out.println("监听中");

                break;
            case KeyEvent.VK_DOWN:
                if (direction != 'U') {//接受到的键为↓时，如果这时蛇没有向右运动，则方向可变为↓
                    direction = 'D';
                }
                System.out.println("监听中");

                break;
        }
    }

}
